描述
给定一个字符串所表示的括号序列,包含以下字符: ‘(‘, ‘)’, ‘{‘, ‘}’, ‘[‘ and ‘]’, 判定是否是有效的括号序列。
括号必须依照 “()” 顺序表示, “()[]{}” 是有效的括号,但 “([)]” 则是无效的括号。
样例
样例 1:
输入:”([)]”
输出:False
样例 2:
输入:”()[]{}”
输出:True
挑战
O(n)的时间,n 为括号的个数。
思路
遍历字符串,对于每个字符,如果是 ( { [ 就入栈,否则就和栈顶的对比,如果不配对就无效。
遍历完成之后栈中应当无字符,所以返回st.size() == 0
代码
1 | class Solution { |
-------------end of filethanks for reading-------------